/*
 * Copyright (c) 2022-2022 All rights Reserved.
 */

package com.driving.core.util;

/**
 * 该类定义消息（异常）码，具体信息在配置文件
 * <p>
 * 是什么类型就定义到哪个子类里面，关键字统一用<code>String</code>类型
 *
 * @author SAGITTAR
 * @since 2017
 */
public class MessageType {

    private MessageType() {
        throw new Error();
    }

    /**
     * 异常码，系统统一处理<code>DrivingException</code>的异常
     */
    public static class ExceptionType {

        /**
         * 参数不正确
         */
        public static final String INCORRECT_PARAMETERS = "incorrectParameters";
        /**
         * 未登录
         */
        public static final String NOT_LOGIN = "notLogin";
        /**
         * 数据不完整
         */
        public static final String NOT_COMPLETE = "notComplete";
        /**
         * 用户不存在
         */
        public static final String USER_NOT_FOUND = "userNotFound";
        /**
         * 密码不正确
         */
        public static final String INCORRECT_PASSWORD = "incorrectPassword";
        /**
         * 原密码不正确
         */
        public static final String INCORRECT_OLD_PASSWORD = "incorrectOldPassword";
        /**
         * 用户已存在，手机号或邮箱已被使用
         */
        public static final String USER_EXIST = "userExist";
        /**
         * 该教练不存在
         */
        public static final String COACH_NOT_FOUND = "coachNotFound";
        /**
         * 该教练没有该学员
         */
        public static final String STUDENT_NOT_FOUND_WITH_COACH = "studentNotFoundWithCoach";
        /**
         * 视频名称为%s的视频文件不存在
         */
        public static final String VIDEO_NOT_FOUND = "videoNotFound";
        /**
         * 不支持的操作
         */
        public static final String OPERATION_NOT_SUPPORTED = "operationNotSupported";
        /**
         * 下一题不存在
         */
        public static final String NEXT_EXERCISE_NOT_FOUND = "nextExerciseNotFound";
        /**
         * 已经报过名，不能重复报名
         */
        public static final String APPLY_ALWAYS_EXISTS = "applyAlwaysExists";
        /**
         * 该数据不存在
         */
        public static final String DATA_NOT_FOUND = "dataNotFound";

        private ExceptionType() {
            throw new Error();
        }
    }

    /**
     * 提示消息
     */
    public static class InformationType {

        /**
         * 未报名
         */
        public static final String NOT_APPLY_EXISTS = "notApplyExists";
        /**
         * 未选择教练
         */
        public static final String NOT_COACH_EXISTS = "notCoachExists";
        /**
         * 已经收藏该题目
         */
        public static final String ALREADY_COLLECTED = "alreadyCollected";
        /**
         * 您还没有错题和收藏题目哦！
         */
        public static final String NO_INCORRECT_COLLECTED = "noIncorrectCollected";

        private InformationType() {
            throw new Error();
        }
    }

    /**
     * 测试专用
     */
    public static class TestType {

        /**
         * 语言测试
         */
        public static final String LANGUAGE = "language";

        private TestType() {
            throw new Error();
        }
    }
}
